package com.itheima.dao;

import com.itheima.entity.Result;
import com.itheima.entity.Result;
import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import com.itheima.pojo.Permission;
import com.itheima.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
public interface RoleDao {

    Set<Role> findRolesByUserId(Integer userId);

    Page<Role> findByCondition(String queryString);

    List<Permission> findPermission();

    List<Menu> findMenu();

    Role findByNameAndKeyword(Role role);


    void add(Role role);

    void setRelationPermission(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);

    void setRelationMenu(@Param("roleId") Integer roleId, @Param("menuId") Integer menuId);


    Role findById(Integer id);

    List<Integer> findPermissionIdsByRoleId(Integer roleId);

    List<Integer> findMenuIdsByRoleId(Integer roleId);

    List<Integer> findUserIdsByRoleId(Integer roleId);

    void delRelationPermission(Integer roleId);

    void delRelationMenu(Integer roleId);


    void edit(Role role);


    void delById(Integer id);
    /* @create by 赵晴 * @date 2020-07-08 16:47:01 */
    //查询所有角色信息
    List<Role> findAll();


}
